package main
import (
	"fmt"
	"os"
	"bufio"
)

/**

**/

func main() {
	openFile()	
}

// OpenFile 函数操作
/**
 OpenFile(name string, flag int, perm os.FileMode) (file *os.File, err error)  
1 要打开的文件路径
2 文件打开的模式（可以用|符号组合，如：O_RDWR|O_CREATE|O_APPEND）
3 文件权限( linux/unix 系统生效，windows系统忽略) - 0666

 */
func openFile() {
	// 打开文件
	file, err := os.OpenFile("test.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
	if err != nil {
		fmt.Println("open file failed, err is ", err)
		return
	}
	// 关闭文件
	defer file.Close()

	// 写入文件的操作： ---》 IO流 --》 缓冲输出流(带缓冲区)
	writer := bufio.NewWriter(file)
	for i := 0; i < 10; i++ {
		// 写入文件
		writer.WriteString("写入文件内容 \n")
	}
	// 刷新缓冲区，将缓冲区中的数据写入文件
	writer.Flush()
	
	fmt.Println("写入文件成功")
}
